package com.duobaoyu.dby.supply.api.service;

import com.duobaoyu.dby.supply.common.biz.remote.dto.order.*;
import com.duobaoyu.dby.supply.common.biz.remote.to.order.CancelOrderTO;
import com.duobaoyu.dby.supply.common.biz.remote.to.order.OrderDetailTO;
import com.duobaoyu.dby.supply.common.biz.remote.to.order.OrderTO;

import java.util.List;


/**
 * @author chenms
 * @date 2023/9/27 2:26 PM
 */
public interface OrderBizService {

	/**
	 * 预下单
	 *
	 * @param submitOrder 下单数据
	 * @return 订单数据
	 */
	OrderTO submitOrder(SubmitOrderDTO submitOrder);

	/**
	 * 订单确认
	 *
	 * @param confirmOrder 确认订单数据
	 * @return 返回确认结果
	 */
	Boolean confirmOrder(ConfirmOrderDTO confirmOrder);

	/**
	 * 确认收货
	 *
	 * @param confirmReceive 确认收货
	 * @return Boolean
	 */
	Boolean confirmReceive(ConfirmReceiveDTO confirmReceive);

	/**
	 * 取消订单
	 *
	 * @param cancelOrder 取消订单
	 * @return Boolean
	 */
	List<CancelOrderTO> cancelOrder(CancelOrderDTO cancelOrder);

	/**
	 * 查询订单
	 *
	 * @param orderQuery orderQueryDTO
	 * @return OrderTO 返回数据
	 */
	List<OrderDetailTO> queryOrder(OrderQueryDTO orderQuery);

}
